チェックボックスのON / OFFで画像を表示する
今回は、チェックボックスのON / OFFで画像の表示 / 非表示を切り替える方法を紹介します。訪問者が好きな画像だけを表示できるのはもちろん、動きのあるページにすることで画像の注目度をアップさせる効果もあります。とりあえずは、サンプルページで機能の概要を確認してみてください。

→ TABLEで画像を配置する
 
まずは、TABLEを使って全ての画像を配置します。この理由は、画像が表示される横幅を制限するためです。今回の例では、各画像の横幅が200ピクセルなので、画像が横に3つ並ぶようにTABLEの幅を610ピクセル(余白10ピクセル)にしました。TABLE内にはIMGタグで画像を並べていきますが、この際に注意すべき点は各IMGタグを続けて記述すること。IMGタグを改行してしまうと、想定外の余白が表示されるので注意してください。また、各IMGタグにはID属性で名前を付け、初めは画像が表示されないようにスタイルシートで横幅を0ピクセルに指定しておきます(style="width:0px)。
<TABLE width=610 align=right border=0 cellspacing=0 celpadding=0>
<TR><TD width=610>
<IMG src="photo01.jpg" id="img01" style="width:0px"><IMG src="photo02.jpg" id="img02" style="width:0px"><IMG src="photo03.jpg" id="img03" style="width:0px"><IMG src="photo04.jpg" id="img04" style="width:0px"><IMG src="photo05.jpg" id="img05" style="width:0px"><IMG src="photo06.jpg" id="img06" style="width:0px"><IMG src="photo07.jpg" id="img07" style="width:0px"><IMG src="photo08.jpg" id="img08" style="width:0px"><IMG src="photo09.jpg" id="img09" style="width:0px">
</TD></TR>
</TABLE>


→ チェックボックスを作成する
 
次に、画像の表示 / 非表示を切り替えるチェックボックスを作成します。ここでは、FORMタグに名前を付けるのを忘れないでください。また、各チェックボックスにonClickイベントを追加し、JavaScript関数「show()」を呼び出します。関数の引数は2つあり、1つ目はチェックボックスのインデックス番号、2つ目に対応するIMGタグの名前となります。インデックス番号は0から始まることに注意してください。なお、今回の例では、画像を配置したTABLEに「align=right」を指定しているため、チェックボックスは画像の左側に回り込んで表示されます。
<FORM name="f1">
<INPUT type=checkbox onClick="show(0,'img01')">朝焼に輝く星<BR>
<INPUT type=checkbox onClick="show(1,'img02')">木立の隙間から<BR>
<INPUT type=checkbox onClick="show(2,'img03')">夜明け<BR>
<INPUT type=checkbox onClick="show(3,'img04')">自転を感じる<BR>
<INPUT type=checkbox onClick="show(4,'img05')">昼の星空<BR>
<INPUT type=checkbox onClick="show(5,'img06')">砂丘の月<BR>
<INPUT type=checkbox onClick="show(6,'img07')">月の軌跡<BR>
<INPUT type=checkbox onClick="show(7,'img08')">彗星の飛来<BR>
<INPUT type=checkbox onClick="show(8,'img09')">彗星
</FORM>


→ 画像の表示 / 非表示を切り替えるJavaScript関数を作成する
 
あとは、JavaScript関数「show()」を作成するだけでページが完成します。最初に登場するif文では、c番目のインデックス番号のチェックボックスについて、チェックのON / OFFで処理を分けています。チェックがON(true)の場合は、対応するIMGタグの横幅を200ピクセルに変更することで画像を表示します。逆に、チェックがOFFの場合は、IMGタグの横幅を0ピクセルにして画像を非表示にします。
<SCRIPT language="JavaScript">
<!--
function show(c,img){
if(document.f1.elements[c].checked == true){
document.getElementById(img).style.width=200;
} else {
document.getElementById(img).style.width=0;
}
}
// -->
</SCRIPT>


e[NECir Yahoo yV LINEf[^[z500~`I
z[y[W NWbgJ[h COiq@COsI COze